// const jwt = require("jsonwebtoken");
// const { TokenExpiredError, invalidToken } = require("../constant/err.type");

const auth = async (ctx, next) => {
  const { authorization } = ctx.request.header;
  const token = authorization.replace('Bearer ', '');
  try {
    const user = ctx.app.jwt.verify(token, ctx.app.config.jwt.secret);
    console.log(user);
    ctx.state.user = user;
  } catch (error) {
    // switch (error.name) {
    //   case 'TokenExpiredError':
    //     console.error('token已过期', error);
    //     return ctx.app.emit('error', 'TokenExpiredError', ctx);
    //   case 'JsonWebTokenError':
    //     console.error('无效的token', error);
    //     return ctx.app.emit('error', 'invalidToken', ctx);
    // }
    return null;
  }
  await next();
};
module.exports = { auth };
